-- CALC_BINE_ATTACK

-- 计算光暗石柱的出现顺序
-- @param user      玩家对象
return function(user)
    -- 石柱按照特定顺序出现，如果某一石柱对应技能满级了，则不再出现
    local stoneData = ME.user.dbase:query("stone", {});
    local layer = DungeonM.currentLayer();
    local order = { 1, 4, 2, 6, 1, 4, 3, 5, };

    local count = (layer - 1) % 8 + 1;
    if layer > 30 then
        count = (layer + 1 - math.modf(layer / 10)) % 8 + 1;
    end
    local id = order[count];
    local level = stoneData[id] or 0;

    if level >= MagicStoneM.query(id, "max_level") then
        -- 如果石柱对应技能满级了，替换成4轮后的石柱
        id = order[(count + 11) % 8 + 1]
        level = stoneData[id] or 0;
        if level >= MagicStoneM.query(id, "max_level") then
            -- 还是满的，换成前两个中同属性的
            id = order[(count + 1) % 2 + 1]
        end
    end

    return id;
end
